Namespaces
Variants

std::literals::chrono_literals:: operator""ns

From cppreference.net
헤더 파일에 정의됨 <chrono>
constexpr std:: chrono :: nanoseconds
operator "" ns ( unsigned long long nsec ) ;
(1) (C++14 이후)
constexpr std:: chrono :: duration < /*unspecified*/ , std:: nano >
operator "" ns ( long double nsec ) ;
(2) (C++14 이후)

나노초를 나타내는 std::chrono::duration 리터럴을 형성합니다.

1) 정수 리터럴, 정확히 std:: chrono :: nanoseconds ( nsec ) 를 반환합니다.
2) 부동 소수점 리터럴, std::chrono::nanoseconds 와 동등한 부동 소수점 지속 시간을 반환합니다.

목차

매개변수

nsec - 나노초의 수

반환값

std::chrono::duration 리터럴.

가능한 구현

constexpr std::chrono::nanoseconds operator""ns(unsigned long long ns)
{
    return std::chrono::nanoseconds(ns);
}
constexpr std::chrono::duration<long double, std::nano> operator""ns(long double ns)
{
    return std::chrono::duration<long double, std::nano>(ns);
}

참고 사항

이 연산자는 네임스페이스 std :: literals :: chrono_literals 에서 선언되며, 여기서 literals chrono_literals 는 모두 인라인 네임스페이스 입니다. 이 연산자에 접근하려면 다음을 사용할 수 있습니다:

  • using namespace std :: literals ,
  • using namespace std :: chrono_literals , 또는
  • using namespace std :: literals :: chrono_literals .

또한, 네임스페이스 std :: chrono 내에서 using namespace literals :: chrono_literals ; 지시문이 표준 라이브러리 에 의해 제공되므로, 프로그래머가 using namespace std :: chrono ; 를 사용하여 chrono 라이브러리 의 클래스들에 접근할 경우, 해당 리터럴 연산자들도 함께 표시됩니다.

예제

#include <chrono>
#include <iostream>
int main()
{
    using namespace std::chrono_literals;
    auto d1{250ns};
    std::chrono::nanoseconds d2{1us};
    std::cout << d1 << " = " << d1.count() << " nanoseconds\n"
              << d2 << " = " << d2.count() << " nanoseconds\n";
}

출력:

250ns = 250 nanoseconds
1000ns = 1000 nanoseconds

참고 항목

새로운 duration을 생성
( std::chrono::duration<Rep,Period> 의 public 멤버 함수)